1. Field
One embodiment of the invention relates to an apparatus and method, for example, for controlling a disk array with redundancy formed of a plurality of disk drives.
2. Description of the Related Art
A disk array with redundancy (redundant disk array) is known as a technique for enhancing the reliability of data using redundant data. The disk array is formed of a plurality of disk drives and known as a redundant array of inexpensive disks or redundant array of independent disks (RAID). A certain number of levels (RAID levels) are set for the RAID. For example, RAID1 (mirroring) or RAID5 (striping with parity) are known. In any RAID level, data and redundant data are assigned to a disk array formed of a plurality of disk drives, which enables data to be restored if a failure occurs in any one of the disk drives.
The controller for controlling the disk array is called an array controller or RAID controller. When, for example, a medium error occurs during access to a disk drive included in a disk array, the RAID controller restores data stored in the error occurrence area of the disk drive, using data in another disk drive. As a typical medium error, an error is known in which data cannot be read from a disk drive even if a retry is performed at the disk drive side.
If, for example, many medium errors occur in a certain disk drive included in a disk array, much time is required for restoration, therefore a command from a host (host system) that uses the disk array cannot be processed quickly. Jpn. Pat. Appln. KOKAI Publication No. 7-200191 discloses a technique for quickly detecting a disk drive that may fail. This technique (hereinafter referred to as prior art) is characterized in that a RAID controller (array controller) manages the number of errors that occur in each disk drive included in a disk array. The technique is also characterized in that if there is a disk drive in which the number of errors exceeds a preset threshold value, the RAID controller recognizes that it is very possible that the disk drive will fail. The technique is further characterized in that the RAID controller restore, to a spare disk drive, data stored in the disk drive recognized to be very likely to fail, using data stored in another disk drive of the disk array. This prior technique is free from the problem that many medium errors occur and much time is required for data restoration.
In the prior technique, assume that a read request is issued from the host to the RAID controller during a rebuild process for rebuilding, in a spare disk drive, the data stored in a disk drive recognized to be very likely to fail. In this case, the read request is executed in each disk drive of the disk array that includes the recognized disk drive. At this time, the disk drive recognized to be very likely to fail is treated in the same manner as the other normal disk drives, namely, accessed in the same manner as the normal disk drives.
This may well accelerate the time when the recognized disk drive actually fails. Moreover, if the recognized disk drive fails before the above-mentioned rebuild process is completed, the rebuild process is continued without using the redundancy function. At this time, if a medium error occurs in any other disk drive of the disk array, data rebuilding may not be performed.